Skip to content

お知らせの解釈

コーディングの旅にお帰りなさい。これまでのチュートリアルで習得したスキルを使って、ゲーム体験を向上させる時が来ました。

ゲーム中、ターミナルにお知らせが表示されるのに気づいたかもしれません。これらのお知らせは、ゲームがプレイヤーに重要なイベントを伝える方法です。しかし、これらのメッセージは時に難解に見えたり、さらなる詳細を知るために頻繁に受信箱をチェックしている自分に気づくかもしれません。

この情報を直接ターミナルからアクセスできたら便利ではありませんか?実は、それができる方法があります!

ハンドラを使うことで、この情報を取得する自律エージェントを作成でき、単純なボットからゲームイベントを解釈し、直接行動することができる存在へと進化します。

開発環境のセットアップ

まず、好みのディレクトリに bot.lua という新しいファイルを作成します。

理想的には、このファイルはプレイヤープロセスが実行されているのと同じディレクトリに配置して、コードの読み込みを容易にするべきです。そうでなければ、ファイルにアクセスするために相対パスを使用する必要があります。

コードの記述

ロジックに飛び込みましょう。

aos の各ハンドラには、3 つの重要な情報が必要です:

  • name: ハンドラの一意の名前
  • pattern: ハンドラが識別するパターンで、その動作を引き起こします
  • handle: 指定されたパターンが見つかったときに実行する操作

お知らせの詳細を表示するためのハンドラを書く方法は次のとおりです:

lua
-- Handler to print game announcements directly in the terminal.
Handlers.add(
  "PrintAnnouncements",
  { Action = "Announcement" },
  function (msg)
    print(msg.Event .. ": " .. msg.Data)
  end
)

この場合、ハンドラの名前は "PrintAnnouncements" です。{ Action = "Announcement" } という特別なビルトインユーティリティ(hasMatchingTags)を使用して、受信メッセージがアナウンスメントとしてタグ付けされているかどうかを確認します。もし真であれば、ハンドラはイベントとデータを印刷します。これらはお知らせのタイトルと説明を表します。

[!注] メッセージが「処理される」と、受信箱からは廃棄されます。

読み込みとテスト

では、これをゲームで実現しましょう。

aos プレイヤーターミナルに移動し、ゲームセッションに入ります。

次のコマンドで bot.lua ファイルを読み込むことで、ハンドラをアクティブにします:

lua
.load bot.lua

これで、ゲームのお知らせが直接ターミナルに表示され、受信箱をこまめにチェックする必要なくリアルタイムの洞察を提供します。

おめでとうございます!あなたは aos 上にボットを構築する第一歩を踏み出しました。しかし、さらなる機能を追加するために引き続き作業を進めていきましょう 🌐